table of contents
std::ranges::adjacent_view::iterator::operator[](3) | C++ Standard Libary | std::ranges::adjacent_view::iterator::operator[](3) |
NAME¶
std::ranges::adjacent_view::iterator::operator[] - std::ranges::adjacent_view::iterator::operator[]
Synopsis¶
constexpr auto operator[]( difference_type n ) const (since
C++23)
requires ranges::random_access_range<Base>;
Returns an element at specified relative location.
Let current_ be an underlying array of iterators.
Equivalent to:
return __tuple_transform([&](auto& i) -> decltype(auto) { return
i[n]; }, current_);
Parameters¶
n - position relative to current location
Return value¶
The element at displacement n relative to the current location.
Example¶
// Run this code
#include <ranges>
#include <tuple>
int main()
{
constexpr static auto v = {0, 1, 2, 3, 4, 5};
// └──┬──┘
//
└─────────────────┐
constexpr auto view = v | std::views::adjacent<3>; // │
//
┌───────────────────┬──────────────┘
// │ ┌──┴──┐
static_assert(view[2] == std::tuple{2, 3, 4});
}
2024.06.10 | http://cppreference.com |